package com.xique.system.service.biz.service.impl;

import com.xique.common.core.domain.R;
import com.xique.common.core.utils.SecurityUtils;
import com.xique.common.core.utils.StringUtils;
import com.xique.system.api.dto.SystemDictDataDTO;
import com.xique.system.bean.domain.SystemDictData;
import com.xique.system.service.biz.service.ISystemDictBizService;
import com.xique.system.service.service.ISystemDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

@Service
public class SystemDictBizServiceImpl implements ISystemDictBizService {

    @Autowired
    private ISystemDictTypeService dictTypeService;

    @Override
    public R<List<SystemDictDataDTO>> getDictDataByType(String dictType) {
        List<SystemDictData> data = dictTypeService.selectDictDataByType(dictType);
        if (StringUtils.isNotNull(data))
        {
            List<SystemDictDataDTO> list = data.stream().map(result -> {
                SystemDictDataDTO vo = new SystemDictDataDTO();
                vo.setDictLabel(result.getDictLabel());
                vo.setDictSort(result.getDictSort());
                vo.setDictValue(result.getDictValue());
                vo.setDictType(result.getDictType());
                return vo;
            }).collect(Collectors.toList());
            return R.ok(list);
        }else{
            return R.ok(new ArrayList<>());
        }
    }
}
